/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package herencia;

/**
 *
 * @author curso
 */
public class HerenciaPrueba {
    public static void main(String[] args) {
        Empleado e1 = new Empleado("Masculino", 70.5f, "Eduardo", "Alvarado", "EAD1407", 1000000);
        e1.respirar();
        e1.hablar();
        e1.trabajar();
        
        //uso de polimorfismo
        Persona p1 = e1;
        p1.hablar();
        p1.respirar();
        
        SerVivo s1 = e1;
        s1.respirar();
        
        Empleado e2 = (Empleado)s1;
        System.out.println(e2.rfc);
        System.out.println(e2.salario);
        
        
        
        Jefe j1 = new Jefe();
        j1.salario = 12345;
        Programador prog1 = new Programador();
        prog1.salario = 4556;
        Intendente i1 = new Intendente();
        i1.salario = 456;
        
        //se pueden crear referencias tipo empleado, ya que heredan de él
        Empleado emp = j1; 
        emp = prog1;
        emp = i1;
        
        Empleado [] empleados = new Empleado[3]; //arreglo de referencias
        empleados[0] = j1;
        empleados[1] = prog1;
        empleados[2] = i1;
        
        float nomina = 0;
        
        for (Empleado empleado : empleados) {
            nomina += empleado.salario;
            
            if(empleado instanceof Programador){
                nomina += 200;
            }
        }
            
        System.out.println("Nomina: " + nomina);
        
    }
}
